1. Technical Field
The present invention relates generally to an improved data processing system and in particular to a method and computer program product for optimizing creation of software executables. Still more particularly, the present invention provides a method and computer program product for generating a processor specific virtualization layer that facilitates installation of a software executable optimized for a plurality of processor architectures.
2. Description of Related Art
Contemporary software vendors invest significant amounts of labor and capital to improve the speed of software products by using different optimization techniques for different processor architectures. The current approach is to deliver different executables each addressing a specific processor architecture. In such implementations, the software code is only optimized for a particular processor architecture. The deficiency of this approach is that every application has to be compiled and packaged multiple times thereby increasing the size of the distribution package and the management complexity. To obtain the best performance on a specific architecture, a user has to install the executable compiled specifically for the architecture on which the installation is being performed.
Thus, it would be advantageous to provide an improved mechanism for producing processor-optimized executables. It would further be advantageous to provide a mechanism for producing a processor-optimized executable for one of a plurality of processor architectures from a single object file. It would further be advantageous to provide a mechanism for installing a processor-optimized executable from an object file that supports executables optimized for a plurality of processor architectures.